'Weak Dependency Graph [60.0]' ------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { rev(nil()) -> nil() , rev(rev(x)) -> x , rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(nil(), y) -> y , ++(x, nil()) -> x , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z) , make(x) -> .(x, nil())} Details: We have computed the following set of weak (innermost) dependency pairs: { rev^#(nil()) -> c_0() , rev^#(rev(x)) -> c_1() , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(nil(), y) -> c_3() , ++^#(x, nil()) -> c_4() , ++^#(.(x, y), z) -> c_5(++^#(y, z)) , ++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z)) , make^#(x) -> c_7()} The usable rules are: { rev(nil()) -> nil() , rev(rev(x)) -> x , rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(nil(), y) -> y , ++(x, nil()) -> x , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z)} The estimated dependency graph contains the following edges: {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} ==> {++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z))} {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} ==> {++^#(.(x, y), z) -> c_5(++^#(y, z))} {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} ==> {++^#(x, nil()) -> c_4()} {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} ==> {++^#(nil(), y) -> c_3()} {++^#(.(x, y), z) -> c_5(++^#(y, z))} ==> {++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z))} {++^#(.(x, y), z) -> c_5(++^#(y, z))} ==> {++^#(.(x, y), z) -> c_5(++^#(y, z))} {++^#(.(x, y), z) -> c_5(++^#(y, z))} ==> {++^#(x, nil()) -> c_4()} {++^#(.(x, y), z) -> c_5(++^#(y, z))} ==> {++^#(nil(), y) -> c_3()} {++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z))} ==> {++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z))} {++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z))} ==> {++^#(.(x, y), z) -> c_5(++^#(y, z))} {++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z))} ==> {++^#(x, nil()) -> c_4()} {++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z))} ==> {++^#(nil(), y) -> c_3()} We consider the following path(s): 1) { rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z)) , ++^#(.(x, y), z) -> c_5(++^#(y, z))} The usable rules for this path are the following: { rev(nil()) -> nil() , rev(rev(x)) -> x , rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(nil(), y) -> y , ++(x, nil()) -> x , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z)} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { rev(nil()) -> nil() , rev(rev(x)) -> x , rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(nil(), y) -> y , ++(x, nil()) -> x , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z) , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z)) , ++^#(.(x, y), z) -> c_5(++^#(y, z))} Details: We apply the weight gap principle, strictly orienting the rules { rev(nil()) -> nil() , rev(rev(x)) -> x} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { rev(nil()) -> nil() , rev(rev(x)) -> x} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [1] x1 + [1] c_6(x1) = [1] x1 + [1] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} and weakly orienting the rules { rev(nil()) -> nil() , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [4] ++^#(x1, x2) = [1] x1 + [1] x2 + [2] c_3() = [0] c_4() = [0] c_5(x1) = [1] x1 + [3] c_6(x1) = [1] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {++^#(.(x, y), z) -> c_5(++^#(y, z))} and weakly orienting the rules { rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {++^#(.(x, y), z) -> c_5(++^#(y, z))} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [8] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [1] x1 + [0] c_6(x1) = [1] x1 + [2] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(nil(), y) -> y , ++(x, nil()) -> x} and weakly orienting the rules { ++^#(.(x, y), z) -> c_5(++^#(y, z)) , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(nil(), y) -> y , ++(x, nil()) -> x} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [7] ++(x1, x2) = [1] x1 + [1] x2 + [8] .(x1, x2) = [1] x1 + [1] x2 + [12] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [8] c_3() = [0] c_4() = [0] c_5(x1) = [1] x1 + [1] c_6(x1) = [1] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z) , ++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z))} Weak Rules: { ++(nil(), y) -> y , ++(x, nil()) -> x , ++^#(.(x, y), z) -> c_5(++^#(y, z)) , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(rev(x)) -> x} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z) , ++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z))} Weak Rules: { ++(nil(), y) -> y , ++(x, nil()) -> x , ++^#(.(x, y), z) -> c_5(++^#(y, z)) , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(rev(x)) -> x} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , ._0(2, 2) -> 4 , ._0(2, 4) -> 4 , ._0(4, 2) -> 4 , ._0(4, 4) -> 4 , rev^#_0(2) -> 6 , rev^#_0(4) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 4) -> 10 , ++^#_0(4, 2) -> 10 , ++^#_0(4, 4) -> 10 , c_5_0(10) -> 10} 2) { rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z)) , ++^#(.(x, y), z) -> c_5(++^#(y, z)) , ++^#(nil(), y) -> c_3()} The usable rules for this path are the following: { rev(nil()) -> nil() , rev(rev(x)) -> x , rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(nil(), y) -> y , ++(x, nil()) -> x , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z)} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { rev(nil()) -> nil() , rev(rev(x)) -> x , rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(nil(), y) -> y , ++(x, nil()) -> x , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z) , ++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z)) , ++^#(.(x, y), z) -> c_5(++^#(y, z)) , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(nil(), y) -> c_3()} Details: We apply the weight gap principle, strictly orienting the rules { rev(nil()) -> nil() , rev(rev(x)) -> x , ++^#(nil(), y) -> c_3()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { rev(nil()) -> nil() , rev(rev(x)) -> x , ++^#(nil(), y) -> c_3()} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3() = [0] c_4() = [0] c_5(x1) = [1] x1 + [0] c_6(x1) = [1] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} and weakly orienting the rules { rev(nil()) -> nil() , rev(rev(x)) -> x , ++^#(nil(), y) -> c_3()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3() = [0] c_4() = [0] c_5(x1) = [1] x1 + [0] c_6(x1) = [1] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(nil(), y) -> y , ++(x, nil()) -> x , ++^#(.(x, y), z) -> c_5(++^#(y, z))} and weakly orienting the rules { rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(rev(x)) -> x , ++^#(nil(), y) -> c_3()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(nil(), y) -> y , ++(x, nil()) -> x , ++^#(.(x, y), z) -> c_5(++^#(y, z))} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [2] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [15] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [2] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [1] x1 + [0] c_6(x1) = [1] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z) , ++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z))} Weak Rules: { ++(nil(), y) -> y , ++(x, nil()) -> x , ++^#(.(x, y), z) -> c_5(++^#(y, z)) , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(rev(x)) -> x , ++^#(nil(), y) -> c_3()} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z) , ++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z))} Weak Rules: { ++(nil(), y) -> y , ++(x, nil()) -> x , ++^#(.(x, y), z) -> c_5(++^#(y, z)) , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(rev(x)) -> x , ++^#(nil(), y) -> c_3()} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , ._0(2, 2) -> 4 , ._0(2, 4) -> 4 , ._0(4, 2) -> 4 , ._0(4, 4) -> 4 , rev^#_0(2) -> 6 , rev^#_0(4) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 4) -> 10 , ++^#_0(4, 2) -> 10 , ++^#_0(4, 4) -> 10 , c_3_0() -> 10 , c_5_0(10) -> 10} 3) { rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z)) , ++^#(.(x, y), z) -> c_5(++^#(y, z)) , ++^#(x, nil()) -> c_4()} The usable rules for this path are the following: { rev(nil()) -> nil() , rev(rev(x)) -> x , rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(nil(), y) -> y , ++(x, nil()) -> x , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z)} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { rev(nil()) -> nil() , rev(rev(x)) -> x , rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(nil(), y) -> y , ++(x, nil()) -> x , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z) , ++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z)) , ++^#(.(x, y), z) -> c_5(++^#(y, z)) , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(x, nil()) -> c_4()} Details: We apply the weight gap principle, strictly orienting the rules { rev(nil()) -> nil() , rev(rev(x)) -> x , ++^#(x, nil()) -> c_4()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { rev(nil()) -> nil() , rev(rev(x)) -> x , ++^#(x, nil()) -> c_4()} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3() = [0] c_4() = [0] c_5(x1) = [1] x1 + [0] c_6(x1) = [1] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} and weakly orienting the rules { rev(nil()) -> nil() , rev(rev(x)) -> x , ++^#(x, nil()) -> c_4()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [1] c_3() = [0] c_4() = [0] c_5(x1) = [1] x1 + [0] c_6(x1) = [1] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(nil(), y) -> y , ++(x, nil()) -> x , ++^#(.(x, y), z) -> c_5(++^#(y, z))} and weakly orienting the rules { rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(rev(x)) -> x , ++^#(x, nil()) -> c_4()} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(nil(), y) -> y , ++(x, nil()) -> x , ++^#(.(x, y), z) -> c_5(++^#(y, z))} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [2] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [15] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [2] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [1] x1 + [0] c_6(x1) = [1] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z) , ++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z))} Weak Rules: { ++(nil(), y) -> y , ++(x, nil()) -> x , ++^#(.(x, y), z) -> c_5(++^#(y, z)) , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(rev(x)) -> x , ++^#(x, nil()) -> c_4()} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z) , ++^#(x, ++(y, z)) -> c_6(++^#(++(x, y), z))} Weak Rules: { ++(nil(), y) -> y , ++(x, nil()) -> x , ++^#(.(x, y), z) -> c_5(++^#(y, z)) , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(rev(x)) -> x , ++^#(x, nil()) -> c_4()} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , ._0(2, 2) -> 4 , ._0(2, 4) -> 4 , ._0(4, 2) -> 4 , ._0(4, 4) -> 4 , rev^#_0(2) -> 6 , rev^#_0(4) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 4) -> 10 , ++^#_0(4, 2) -> 10 , ++^#_0(4, 4) -> 10 , c_4_0() -> 10 , c_5_0(10) -> 10} 4) { rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(x, nil()) -> c_4()} The usable rules for this path are the following: { rev(nil()) -> nil() , rev(rev(x)) -> x , rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(nil(), y) -> y , ++(x, nil()) -> x , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z)} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { rev(nil()) -> nil() , rev(rev(x)) -> x , rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(nil(), y) -> y , ++(x, nil()) -> x , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z) , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(x, nil()) -> c_4()} Details: We apply the weight gap principle, strictly orienting the rules { rev(nil()) -> nil() , rev(rev(x)) -> x} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { rev(nil()) -> nil() , rev(rev(x)) -> x} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {++^#(x, nil()) -> c_4()} and weakly orienting the rules { rev(nil()) -> nil() , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {++^#(x, nil()) -> c_4()} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [2] ++^#(x1, x2) = [1] x1 + [1] x2 + [8] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} and weakly orienting the rules { ++^#(x, nil()) -> c_4() , rev(nil()) -> nil() , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(nil(), y) -> y , ++(x, nil()) -> x} and weakly orienting the rules { rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(x, nil()) -> c_4() , rev(nil()) -> nil() , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(nil(), y) -> y , ++(x, nil()) -> x} Details: Interpretation Functions: rev(x1) = [1] x1 + [0] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [2] .(x1, x2) = [1] x1 + [1] x2 + [14] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z)} Weak Rules: { ++(nil(), y) -> y , ++(x, nil()) -> x , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(x, nil()) -> c_4() , rev(nil()) -> nil() , rev(rev(x)) -> x} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z)} Weak Rules: { ++(nil(), y) -> y , ++(x, nil()) -> x , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(x, nil()) -> c_4() , rev(nil()) -> nil() , rev(rev(x)) -> x} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , ._0(2, 2) -> 4 , ._0(2, 4) -> 4 , ._0(4, 2) -> 4 , ._0(4, 4) -> 4 , rev^#_0(2) -> 6 , rev^#_0(4) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 4) -> 10 , ++^#_0(4, 2) -> 10 , ++^#_0(4, 4) -> 10 , c_4_0() -> 10} 5) { rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(nil(), y) -> c_3()} The usable rules for this path are the following: { rev(nil()) -> nil() , rev(rev(x)) -> x , rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(nil(), y) -> y , ++(x, nil()) -> x , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z)} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { rev(nil()) -> nil() , rev(rev(x)) -> x , rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(nil(), y) -> y , ++(x, nil()) -> x , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z) , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(nil(), y) -> c_3()} Details: We apply the weight gap principle, strictly orienting the rules { rev(nil()) -> nil() , rev(rev(x)) -> x} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { rev(nil()) -> nil() , rev(rev(x)) -> x} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {++^#(nil(), y) -> c_3()} and weakly orienting the rules { rev(nil()) -> nil() , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {++^#(nil(), y) -> c_3()} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [2] ++^#(x1, x2) = [1] x1 + [1] x2 + [8] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} and weakly orienting the rules { ++^#(nil(), y) -> c_3() , rev(nil()) -> nil() , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(nil(), y) -> y , ++(x, nil()) -> x} and weakly orienting the rules { rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(nil(), y) -> c_3() , rev(nil()) -> nil() , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(nil(), y) -> y , ++(x, nil()) -> x} Details: Interpretation Functions: rev(x1) = [1] x1 + [0] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [2] .(x1, x2) = [1] x1 + [1] x2 + [14] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z)} Weak Rules: { ++(nil(), y) -> y , ++(x, nil()) -> x , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(nil(), y) -> c_3() , rev(nil()) -> nil() , rev(rev(x)) -> x} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z)} Weak Rules: { ++(nil(), y) -> y , ++(x, nil()) -> x , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , ++^#(nil(), y) -> c_3() , rev(nil()) -> nil() , rev(rev(x)) -> x} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , ._0(2, 2) -> 4 , ._0(2, 4) -> 4 , ._0(4, 2) -> 4 , ._0(4, 4) -> 4 , rev^#_0(2) -> 6 , rev^#_0(4) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 4) -> 10 , ++^#_0(4, 2) -> 10 , ++^#_0(4, 4) -> 10 , c_3_0() -> 10} 6) {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} The usable rules for this path are the following: { rev(nil()) -> nil() , rev(rev(x)) -> x , rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(nil(), y) -> y , ++(x, nil()) -> x , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z)} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { rev(nil()) -> nil() , rev(rev(x)) -> x , rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(nil(), y) -> y , ++(x, nil()) -> x , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z) , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} Details: We apply the weight gap principle, strictly orienting the rules { rev(nil()) -> nil() , rev(rev(x)) -> x} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { rev(nil()) -> nil() , rev(rev(x)) -> x} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [1] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} and weakly orienting the rules { rev(nil()) -> nil() , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x)))} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [0] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [3] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [0] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { ++(nil(), y) -> y , ++(x, nil()) -> x} and weakly orienting the rules { rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(rev(x)) -> x} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { ++(nil(), y) -> y , ++(x, nil()) -> x} Details: Interpretation Functions: rev(x1) = [1] x1 + [1] nil() = [4] ++(x1, x2) = [1] x1 + [1] x2 + [0] .(x1, x2) = [1] x1 + [1] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [5] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [3] ++^#(x1, x2) = [1] x1 + [1] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z)} Weak Rules: { ++(nil(), y) -> y , ++(x, nil()) -> x , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(rev(x)) -> x} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { rev(++(x, y)) -> ++(rev(y), rev(x)) , ++(.(x, y), z) -> .(x, ++(y, z)) , ++(x, ++(y, z)) -> ++(++(x, y), z)} Weak Rules: { ++(nil(), y) -> y , ++(x, nil()) -> x , rev^#(++(x, y)) -> c_2(++^#(rev(y), rev(x))) , rev(nil()) -> nil() , rev(rev(x)) -> x} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { nil_0() -> 2 , ._0(2, 2) -> 4 , ._0(2, 4) -> 4 , ._0(4, 2) -> 4 , ._0(4, 4) -> 4 , rev^#_0(2) -> 6 , rev^#_0(4) -> 6 , ++^#_0(2, 2) -> 10 , ++^#_0(2, 4) -> 10 , ++^#_0(4, 2) -> 10 , ++^#_0(4, 4) -> 10} 7) {rev^#(nil()) -> c_0()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: rev(x1) = [0] x1 + [0] nil() = [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] .(x1, x2) = [0] x1 + [0] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {rev^#(nil()) -> c_0()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {rev^#(nil()) -> c_0()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(nil()) -> c_0()} Details: Interpretation Functions: rev(x1) = [0] x1 + [0] nil() = [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] .(x1, x2) = [0] x1 + [0] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {rev^#(nil()) -> c_0()} Details: The given problem does not contain any strict rules 8) {rev^#(rev(x)) -> c_1()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: rev(x1) = [0] x1 + [0] nil() = [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] .(x1, x2) = [0] x1 + [0] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {rev^#(rev(x)) -> c_1()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {rev^#(rev(x)) -> c_1()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {rev^#(rev(x)) -> c_1()} Details: Interpretation Functions: rev(x1) = [1] x1 + [0] nil() = [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] .(x1, x2) = [0] x1 + [0] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {rev^#(rev(x)) -> c_1()} Details: The given problem does not contain any strict rules 9) {make^#(x) -> c_7()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: rev(x1) = [0] x1 + [0] nil() = [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] .(x1, x2) = [0] x1 + [0] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [0] x1 + [0] c_7() = [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {make^#(x) -> c_7()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {make^#(x) -> c_7()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {make^#(x) -> c_7()} Details: Interpretation Functions: rev(x1) = [0] x1 + [0] nil() = [0] ++(x1, x2) = [0] x1 + [0] x2 + [0] .(x1, x2) = [0] x1 + [0] x2 + [0] make(x1) = [0] x1 + [0] rev^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] ++^#(x1, x2) = [0] x1 + [0] x2 + [0] c_3() = [0] c_4() = [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] make^#(x1) = [1] x1 + [4] c_7() = [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {make^#(x) -> c_7()} Details: The given problem does not contain any strict rules